package md.mru.core.dtos;

import md.mru.core.domains.type.EventType;
import md.mru.core.domains.type.TreeChangesType;

import java.io.Serializable;
import java.util.Date;

/**
 * @author sergiu.marin
 * @since 01/06/2014.
 */
public class EventDto implements Serializable {

    private static final long serialVersionUID = 4669300893533688530L;

    private long id;
    private OrderDto order;
    private UserDto createdByUser;
    private EventType eventType;
    private String nodePath;
    private Date createdDate = new Date();
    private TreeChangesType treeChangesType;

    public EventDto() {
        super();
    }

    public EventDto(EventType eventType, String nodePath, TreeChangesType treeChangesType, UserDto user) {
        this.eventType = eventType;
        this.nodePath = nodePath;
        this.treeChangesType = treeChangesType;
        this.createdByUser = user;
    }

    public EventDto(EventType eventType, String nodePath, OrderDto order, UserDto user) {
        this.eventType = eventType;
        this.nodePath = nodePath;
        this.order = order;
        this.createdByUser = user;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public OrderDto getOrder() {
        return order;
    }

    public void setOrder(OrderDto order) {
        this.order = order;
    }

    public EventType getEventType() {
        return eventType;
    }

    public void setEventType(EventType eventType) {
        this.eventType = eventType;
    }

    public String getNodePath() {
        return nodePath;
    }

    public void setNodePath(String nodePath) {
        this.nodePath = nodePath;
    }

    public TreeChangesType getTreeChangesType() {
        return treeChangesType;
    }

    public void setTreeChangesType(TreeChangesType treeChangesType) {
        this.treeChangesType = treeChangesType;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public UserDto getCreatedByUser() {
        return createdByUser;
    }

    public void setCreatedByUser(UserDto createdByUser) {
        this.createdByUser = createdByUser;
    }
}
